package com.fulihui.weixinclient.request.order;

import com.fulihui.weixinclient.http.HttpMethodEnum;
import com.fulihui.weixinclient.result.order.TransfersOrderWeixinResult;
import com.fulihui.weixinclient.util.XMLUtil;

/*
 * 提现
 */
public class TransfersOrderWeixinRequest extends OrderWeixinRequest<TransfersOrderWeixinResult> {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    //公众账号appid
    private String            mch_appid;

    //商户号   
    private String            mchid;

    //商户订单号
    private String            partner_trade_no;

    //用户openid
    private String            openid;

    /*校验用户姓名选项  NO_CHECK：不校验真实姓名 
    FORCE_CHECK：强校验真实姓名（未实名认证的用户会校验失败，无法转账） 
    OPTION_CHECK：针对已实名认证的用户才校验真实姓名（未实名认证用户不校验，可以转账成功）
    */
    private String            check_name;

    //收款用户姓名    
    private String            re_user_name;

    //金额
    private int               amount;

    //描述
    private String            desc;

    //IP地址
    private String            spbill_create_ip;

    @Override
    protected void childParam() {

    }

    @Override
    public String service() {
        return "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
    }

    @Override
    public String urlEndStr() {
        return null;
    }

    @Override
    public TransfersOrderWeixinResult parseResult(String respStr) {
        return XMLUtil.parseObject(respStr, TransfersOrderWeixinResult.class);
    }

    @Override
    public HttpMethodEnum httpMethod() {
        return HttpMethodEnum.CERT_SSL_POST;
    }

    @Override
    public String requestData() {
        return XMLUtil.toXMLString(this);
    }

    public String getDevice_info() {
        return device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getNonce_str() {
        return nonce_str;
    }

    public void setNonce_str(String nonce_str) {
        this.nonce_str = nonce_str;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public String getPartner_trade_no() {
        return partner_trade_no;
    }

    public void setPartner_trade_no(String partner_trade_no) {
        this.partner_trade_no = partner_trade_no;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getCheck_name() {
        return check_name;
    }

    public void setCheck_name(String check_name) {
        this.check_name = check_name;
    }

    public String getRe_user_name() {
        return re_user_name;
    }

    public void setRe_user_name(String re_user_name) {
        this.re_user_name = re_user_name;
    }

    public int getAmount() {
        return amount;
    }

    public void setAmount(int amount) {
        this.amount = amount;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public String getSpbill_create_ip() {
        return spbill_create_ip;
    }

    public void setSpbill_create_ip(String spbill_create_ip) {
        this.spbill_create_ip = spbill_create_ip;
    }

    public String getMch_appid() {
        return mch_appid;
    }

    public void setMch_appid(String mch_appid) {
        this.mch_appid = mch_appid;
    }

    public String getMchid() {
        return mchid;
    }

    public void setMchid(String mchid) {
        this.mchid = mchid;
    }

}
